﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Lisp.Compiler
{
    public interface IExecutableInstruction<V> : IEquatable<V>
    {
        void Execute(V code);
    }

    internal interface IReadInstruction<T, V> : IEquatable<V>
    {
        void Push(V source, T obj);
    }

    internal interface IWriteInstruction<T, V> : IEquatable<V>
    {
        T Pop(V obj);
    }

}
